class Cookie {
    set(name, value, day) {
        let str = `${name}=${value};path=/`
        if (day) {
            let date = new Date()
            date.setDate(date.getDate() + day)
            str += ';expires=' + date
        }
        document.cookie = str
    }
    get(name) {
        let str = document.cookie;
        let arr = str.split('; ')
        let res; // 保存 循环过程中结束

        arr.forEach(v => {
            let vArr = v.split('=');
            if (vArr[0] == name) {
                res = vArr[1];
            }
        })
        return res
    }
    remove(name) {
        this.set(name, '0', -100)
    }
}
let coco = new Cookie()
// 判断是否登录
let userObj // 存储个人信息
loginIn()
function loginIn() {
    let jsonStr = localStorage.getItem('duitang')
    if (jsonStr != null && jsonStr != '[]') {
        userObj = JSON.parse(jsonStr)
    }
    // 是否已经登录
    if (userObj) {
        $('#left').next().remove()
        let li = $('<li></li>').text('消息')
        $('.header-right').append(li).find('img').css('display', 'block')
    } else {
        console.log('您还没有登录');
    }
}
// 退出登录
$('.header-right ul li').eq(2).click(function () {
    let signOut = confirm('确认退出？')
    if (signOut) {
        userObj = undefined
        localStorage.setItem('duitang', null)
        localStorage.setItem('dt_data', null)
        loginIn()
        location.reload();
    }
})
// 进入个人详情
$('.header-right ul li').eq(0).click(function () {
    location.href = 'home.html'
})
// 分类
$('.category div').hover(function () {
    $(this).addClass('data')
}, function () {
    setTimeout(() => {
        $(this).css('display', 'none').removeClass('data')
    }, 500)
})
$('.category').hover(function () {
    $(this).children('div').css('display', 'block')
}, function () {
    setTimeout(() => {
        if ($('.category div').hasClass('data') == false) {
            $(this).children('div').css('display', 'none')
        }
    }, 500);
})
// 搜索框
$('#sea-ipt').on('input', function () {
    let str = $(this).val()
    $(this).next().next().css('display', 'block').find('span').text(str)
    if (str == '') {
        $(this).next().next().css('display', 'none').find('span').text('')
    }
}).on('blur', function () { $(this).next().next().css('display', 'none').find('span').text('') });
// 堆糖生活家
$('#left').click(function () { window.open('https://www.duitang.com/life_artist/guide/', '_blank') })
// 头像
$('.header-right ul').hover(function () {
    $(this).addClass('data')
}, function () {
    setTimeout(() => {
        $(this).css('display', 'none').removeClass('data')
    }, 500)
})
$('.header-right img').hover(function () {
    $(this).next().css('display', 'block')
}, function () {
    setTimeout(() => {
        if ($('.header-right ul').hasClass('data') == false) {
            $(this).next().css('display', 'none')
        }
    }, 500);
})
// 小小登录
let isPhone
let isPass
$('#slog').click(function () {
    oplogin()
})
// 打开小小登录
function oplogin() {
    let json = coco.get('duitang')
    if (json) {
        let obj = JSON.parse(json) // 保存了密码
        let username = obj.username.slice(3)
        $('#smlog input').eq(0).val(username)
        $('#smlog input').eq(1).val(obj.password)
        $('#smlog input').eq(2).prop('checked', 'true')
        isPhone = true
        isPass = true
    }
    $('#smlog').css('display', 'block')
    $('#mask').css('display', 'block')
    setTimeout(function () {
        $('#smlog').css('opacity', '1')
        $('#mask').css('opacity', '.6')
    }, 100)
}
// 手机号
$('#smlog input').eq(0).change(function () {
    let str = $(this).val()
    let reg = /^1[3-9]\d{9}$/
    if (reg.test(str) && str != '') {
        isPhone = true
    } else {
        isPhone = false
    }
})
// 密码
$('#smlog input').eq(1).change(function () {
    let str = $(this).val()
    let reg = /^.{6,18}$/
    if (reg.test(str) && str != '') {
        isPass = true
    } else {
        isPass = false
    }
})
// 忘记密码
$('#forget').click(() => alert('对不起，我也没办法'))
// 切换到海外登录
$('#smlog a').eq(1).click(() => alert('暂未提供该功能。。'))
// 登录
$('#login').click(function () {
    if (isPhone && isPass) {
        let loginUrl = 'http://jx.xuzhixiang.top/ap/api/login.php'
        axios.get(loginUrl, {
            params: {
                username: 'dt_' + $('#smlog input').eq(0).val(),
                password: $('#smlog input').eq(1).val()
            }
        }).then(function (res) {
            if (res.data.code == 1) {
                let obj = JSON.stringify(res.data.data)
                if ($('#smlog input').eq(2).prop('checked')) {
                    coco.set('duitang', obj, 3) // 3天有效期
                } else {
                    coco.set('duitang', obj, -1) // 删除记录
                }
                localStorage.setItem('duitang', obj)
                $('#smlog').css('opacity', '0')
                $('#mask').css('opacity', '0')
                setTimeout(function () {
                    $('#smlog').css('display', 'none')
                    $('#mask').css('display', 'none')
                }, 300)
                $('#smlog input').eq(0).val('')
                $('#smlog input').eq(1).val('')
                loginIn()
                setTimeout(function () {
                    location.reload()
                }, 500)
            } else {
                alert(res.data.msg)
                location = 'login.html'
            }
        }).then(function () {
            init()
        })
    } else {
        alert('输入有误')
    }
})
// 关闭小小登录
$('.title span').click(function () {
    $('#smlog').css('opacity', '0')
    $('#mask').css('opacity', '0')
    setTimeout(function () {
        $('#smlog').css('display', 'none')
        $('#mask').css('display', 'none')
    }, 300)
})
// 回到顶部
$('#return-top').click(function () {
    let sTop = document.documentElement.scrollTop || document.body.scrollTop
    let mTop = Math.ceil(sTop / 20)
    let timer = setInterval(function () {
        sTop = sTop - mTop
        if (sTop < 0) {
            clearInterval(timer)
            document.documentElement.scrollTop = document.body.scrollTop = 0
        }
        document.documentElement.scrollTop = document.body.scrollTop = sTop
    }, 10)
})
// 滑动距离的判断
window.onscroll = function () {
    let sTop = document.documentElement.scrollTop || document.body.scrollTop
    let rTop = document.body.scrollHeight - sTop
    if (sTop >= 500) {
        $('#return-top').css('opacity', 1)
        if (sTop > 1100) {
            $('.code').addClass('codes')
        } else {
            $('.code').removeClass('codes')
        }
    } else if (sTop < 200) {
        $('#return-top').css('opacity', 0)
    }
    if (rTop < 1100) {
        let returnmove = 1100 - rTop
        $('#return-top').css('bottom', returnmove + 60 + 'px')
    } else {
        $('#return-top').css('bottom', '60px')
    }
}

// 点赞收藏更多
$('.content').on('click', '.con-bottom li', function () {
    if (userObj) {
        let id = $(this).parent().parent().data('id')
        if ($(this).index() == 0) {
            let isAgree = $(this).hasClass('agree')
            if (isAgree) {
                $(this).removeClass('agree').text(Number($(this).text()) - 1)
            } else {
                $(this).addClass('agree').text(Number($(this).text()) + 1)
            }
            update(id, 0, isAgree)
        } else if ($(this).index() == 1) {
            let isStar = $(this).hasClass('star')
            if (isStar) {
                $(this).removeClass('star').text(Number($(this).text()) - 1)
            } else {
                $(this).addClass('star').text(Number($(this).text()) + 1)
            }
            update(id, 1, isStar)
        } else {
            console.log('其他');
        }
    } else {
        oplogin()
    }
})

// 更新数据
function update(pname, i, whether) {
    let arrRes = JSON.parse(localStorage.getItem('dt_data'))
    let listUrl = 'http://jx.xuzhixiang.top/ap/api/productlist.php'
    axios.get(listUrl, {
        params: {
            // uid: '49805'
            uid: userObj.id
        }
    }).then(function (res) {
        let arr = res.data.data
        let obj = arr[i]
        let allid = obj.pname.split('$')
        if (whether) {
            allid = allid.filter(v => v != pname)
        } else {
            allid.push(pname)
        }
        pname = allid.join('$')
        let upUrl = 'http://jx.xuzhixiang.top/ap/api/goods/goods-update.php'
        axios.get(upUrl, {
            params: {
                pid: arrRes[i].pid,
                pimg: obj.pimg,
                pname: pname,
                pprice: i,
                pdesc: obj.pdesc
            }
        }).then(function () {
            init()
        })
    })

}

// 判断图片格式
function isPic(src, size) {
    let index = src.lastIndexOf('.') // 找到'.'最后一次出现的位置
    let srcStr = src.slice(0, index) // 截取掉文件格式
    if (src.charAt(src.length - 2) == 'e') {
        srcStr += `.thumb.${size}_${size}_c.jpeg` // 如果是jpeg格式
    } else if (src.charAt(src.length - 2) == 'p') {
        srcStr += `.thumb.${size}_${size}_c.jpg` // 如果是jpg格式
    } else if (src.charAt(src.length - 2) == 'n') {
        srcStr += `.thumb.${size}_${size}_c.png` // 如果是png格式
    } else if (src.charAt(src.length - 2) == 'i') {
        srcStr += `.thumb.${size}_${size}_c.gif_jpeg` // 如果是gif格式
        // srcStr += `.thumb.${size}_${size}_c.gif` // 如果是gif格式
    }
    return srcStr
}

// 监听加载失败的图片
document.addEventListener("error", function (e) {
    var elem = e.target;
    if (elem.classList.contains('image')) {
        let index = Math.ceil((Math.random() * 5))
        elem.src = `../img/pic${index}.jpg`;
    } else if (elem.tagName.toLowerCase() == 'img') {
        let index = Math.ceil((Math.random() * 9))
        elem.src = `../img/p${index}.jpg`;
    }
}, true);

function init() {
    // 初始化
    let listUrl = 'http://jx.xuzhixiang.top/ap/api/productlist.php'
    axios.get(listUrl, {
        params: {
            // uid: '49805'
            uid: userObj.id
        }
    }).then(function (res) {
        let arr = res.data.data
        localStorage.setItem('dt_data', JSON.stringify(arr))
    })
}
